package com.tiancheng.trade.order.vo.admin.res;

import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @Author: kellen
 * @Description: 账单查询实体
 * @Date: create in 2024/12/9 21:31
 */
@Data
public class BillQueryResVO implements Serializable {
    /**
     * 主订单
     */
    private String orderId;
    /**
     * 商户和平台的关联id
     */
    private Long merchantRegId;

    /**
     * 商户编码/商户ID
     */
    private String merchantCode;
    /**
     * 商户名称
     */
    @NotBlank
    private String merchantName;
    /**
     * 账单生成日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime createdDt;
    /**
     * 订单总价
     */
    private Integer totalAmount;
    /**
     * 实付总价
     */
    private Integer payAmount;
    /**
     * 优惠金额
     */
    private Integer discount;
    /**
     * 总退款金额
     */
    private Integer refundTotalAmount;
    /**
     * 实退金额
     */
    private Integer refundAmount;
    /**
     * 退优惠金额
     */
    private Integer refundDiscountAmount;
    /**
     * 清分金额
     */
    private Integer settleAmount;
    /**
     * 抽佣比例
     */
    private BigDecimal platformPercent;
    /**
     * 佣金金额
     */
    private Integer platformAmount;
    /**
     * 商户金额
     */
    private Integer merchantAmount;
    /**
     * 核销状态
     */
    private String verificationStatus;
    /**
     * 清分状态
     */
    private String settleStatus;
    /**
     * 清分规则编码
     */
    private String settleRuleCode;
    /**
     * 应清日期
     */
    private LocalDate settleDate;
    /**
     * 清分成功日期
     */
    private LocalDate settleScDate;
    /**
     * 核销时间
     */
    private LocalDateTime verificationTime;

}
